package com.vutil.src.dao;

import java.util.List;

import com.util.vmsg.beans.MobileNumber;
import com.util.vmsg.beans.Vehicle;
import com.util.vmsg.beans.Person;

public abstract class VMsgDAO {

	private static VMsgDAO vMsgDAOInstance = null; 
	
	public static VMsgDAO getInstance() {
		if(vMsgDAOInstance == null)
			vMsgDAOInstance = new VMsgDAOImpl();
		return vMsgDAOInstance;
	}

	public abstract boolean isExistingMobileNumber(MobileNumber mobileNumber);
	
	public abstract boolean isExistingVehicleNumber(Vehicle vehicle);

	public abstract List<Person> getVMsgSubscribers(Vehicle vehicle);
	
	public abstract List<Vehicle> getOwnedVehicles(Person vehicleOwner);

	public abstract boolean create(Vehicle vehicle);

	public abstract boolean create(MobileNumber mobileNumber) ;

	public abstract boolean checkDupeSubscription(Vehicle vehicle, MobileNumber mobileNumber);

	public abstract boolean updateVMsgSubscriberList(Vehicle argVehicle,
			MobileNumber argMobileNumber) ;

	public abstract List<MobileNumber> getVehicleNumberSubscriptionList(Vehicle vehicle);

}
